1. Field
The technology relates to integrated circuit fabrication, and more particularly to placement, routing, and optimization of an integrated circuit design that obeys rules that specify the relative placement of circuit elements.
2. Description of Related Art
An integrated circuit design flow typically proceeds through the following stages: product idea, EDA software, tapeout, fabrication equipment, packing/assembly, and chips. The EDA software stage includes the steps shown in the following table:
EDA stepWhat HappensSystem DesignDescribe the functionality to implementWhat-if planningHardware/software architecture partitioningLogic Design andWrite VHDL/Verilog for modules in systemFunctionalCheck design for functional accuracy, does theVerificationdesign produce correct outputs?Synthesis andTranslate VHDL/Verilog to netlistDesign for TestOptimize netlist for target technologyDesign and implement tests to permit checking ofthe finished chipDesign PlanningConstruct overall floor plan for the chipAnalyze same, timing checks for top-level routingNetlist VerificationCheck netlist for compliance with timingconstraints and the VHDL/VerilogPhysicalPlacement (positioning circuit elements) andImplement.routing (connecting circuit elements)Analysis andVerify circuit function at transistor level, allowsExtractionfor what-if refinementPhysicalVarious checking functions: manufact., electrical,Verfication (DRC,lithographic, circuit correctnessLRC, LVS)ResolutionGeometric manipulations to improveEnhanc. (OPC,manufacturabilityPSM, Assists)Mask Data“Tape-out” of data for production of masksPreparationfor lithographic use produce finished chips
With regard to physical implementation technology, methodologies for structured placement offer circuit designers superior power, yield, and/or area for a given logic function. With the advent of manual placement of transistors, designers created arrayed layouts where logic gates were manually placed in a regularized fashion. This methodology has evolved to the point that automation has been applied to the problem. However, regularized placement still suffers from a great deal of manual effort, such as in cell drive strength selection.
Capturing a priori designer knowledge of structured placement requirements in HDL is a nontrivial problem. Even if captured, structured placement requirements are lost during standard cell random placement. Standard cell placers tend to take more localized views during optimization. This results in not just loss of regularity, but also extra buffering, routing, vias, and cell oversizing, compared to a solution which might be obtained following structured placement.
One approach to this problem is to perform cell sizing and optimization of a structured placement manually through homegrown tools. This approach is quite expensive in terms of engineering effort. This approach is also hard to integrate with the rest of the design. Such integration requires multiple iterations, because standard cell placement and optimization changes the placement, sizing, etc. of the surrounding, non-structured logic. Unfortunately, this triggers another iteration, with further manual sizing and optimization efforts through the homegrown tools for the block with structured placement.
Other approaches to this problem are to generate structured placement through synthesis or through a specific tool, and then pass on the result to a placer through a set of special constraints, or as a macro/IP block. The initial structure generated through synthesis or through the special tool is problematic. Because the initial structure is generated prior to placement, the initial structure is formed lacking complete placement knowledge, and thus the initial structure fails to lead to optimal placement as generation. Also if it is passed as a macro/IP block, then place and route tools cannot resize or otherwise optimize the blocks.
Therefore, it would be desirable to efficiently implement structured placement with circuit design.